java - Java 中 GUI 的 JUnit 测试
全部标签 我正在使用PHPUnit来测试我的PHP源代码,但我也需要一种方法来测试客户端代码。我使用ExtJS来构建调用服务器获取数据的相当复杂的接口(interface)。我想知道如何测试UI? 最佳答案 最近刚推出一个新工具,叫做Siesta.它专门针对ExtJS(尽管也可以测试任何JS代码),并且非常适合测试ExtJSUI代码,因为它具有内置的ExtJS事件模拟和记录。我个人也用Jasmine对于我的单元测试,ExtJS团队内部也是如此,尽管它不是特别适合UI测试(尽管它非常适合测试代码)。
我想在所有测试之前做点什么,然后再做?组织代码的最佳方式是什么?例如:备份一些变量->清除它们->测试一些东西->恢复备份。'beforeEach'和'afterEach'太贵了。谢谢! 最佳答案 一个非常简单的解决方案:describe("allo'mytests",function(){it("setupforalltests",function(){setItUp();});describe("actualtestsuite",function(){});it("teardownforalltests",function(){
我正在使用带有text属性的three.js和dat.gui。另外,我的场景中有OrbitControls:cameraControl=newTHREE.OrbitControls(camera);cameraControl.update();但是这种场景有个问题。GUI中的文本不起作用。您不能在该框中键入任何内容。而且我已经调试过了,问题出在OrbitControls上。您知道解决它的方法或解决方法吗?谢谢! 最佳答案 您需要传递要从中监听事件的dom元素。cameraControl=newTHREE.OrbitControls(
我是网络编程新手。我要求一种通用模式来执行诸如检查身份验证之类的操作。这是场景:该网站有一个访问者登录页面。它将获取用户名和加密密码并将它们发送到服务器,然后从服务器获取错误代码(用户名/密码不匹配)或授权key。当用户登录成功后,我想让网站自动跳转到呈现网站主要功能的main.jsp页面。在这种情况下,我希望main.jsp检查用户身份验证。也就是说,我不希望用户可以直接打开www.example.com/main.jsp这样的事情发生,如果他们这样做了,我想将他们重定向到登录页面。那么如何跨页面传递认证信息,如何防止用户在未登录的情况下直接访问main.jsp呢?我需要使用sess
我正在努力使用Karma+Jasmine测试AngularJS工厂。我无法将我的工厂注入(inject)OfficerValidationService变量。我做错了什么?注意:文件加载正确工厂:'usestrict';angular.module('darthvader').factory('OfficerValidationService',[function(){varOfficerValidationService={};OfficerValidationService.something=function(){returntrue;};returnOfficerValidat
考虑以下代码示例:importjavax.script.ScriptEngine;importjavax.script.ScriptEngineManager;publicclassTester{publicstaticvoidmain(String[]args)throwsException{ScriptEnginese=newScriptEngineManager().getEngineByName("nashorn");Objecteval=se.eval("5%5");System.out.println("eval="+eval);System.out.println("ev
我正在尝试测试我使用Angular的$q构建的服务promise的实现。我按照promise使用了Karma、Mocha、Chai、Sinon、SinonChai和Chai的组合。我编写并返回promise的所有测试都通过了,但拒绝或使用$q.all([...])的测试。我已经尝试了所有我能想到的方法,但我似乎无法找到问题所在。以下是我正在测试的精简版:"usestrict";describe("Promise",function(){var$rootScope,$scope,$q;beforeEach(angular.mock.inject(function(_$rootScope_
我意识到QUnit.module提供围绕每个测试的设置和拆卸回调。QUnit.module("unrelatedtest",{setup:function(){varusedAcrossTests="hello";}});QUnit.test("sometest",function(assert){assert.deepEqual(usedAcrossTests,"hello","uhoh");});QUnit.test("anothertest",function(assert){assert.deepEqual(usedAcrossTests.length,5,"uhoh");})
我正在尝试在POSTMAN中进行测试,其中大小必须大于0,但我无法正确进行测试。我做的是让它在尺寸小于0时失败。postman有没有检查大小是否大于x个数的函数?pm.test("Step7/Gettingtheresourcesandavailabiliteslist",function(){pm.expect(pm.response.code).to.be.oneOf([200]);if(pm.response.code===200){varjsonData=JSON.parse(responseBody);varsizeOK=1;if(jsonData.resources.len
如何测试我的javascript代码中的变量是否已初始化?此测试应为返回falsevarfoo;为真varfoo=5; 最佳答案 if(foo===undefined){/*notinitialized*/}或偏执狂if(foo===(void)0)这是您可以直接在JavaScript控制台中测试的类型。只需声明一个变量,然后在(好吧,作为)表达式中使用它。控制台打印的内容很好地提示了您需要做什么。 关于javascript-如何测试Javascript中的变量是否已初始化?,我们在St